home *** CD-ROM | disk | FTP | other *** search
- ; /*
- sc RESOPT IGNORE=73 DATA=NEAR NMINC UCHAR CONSTLIB STREQ STRMERGE NOSTKCHK NOSTDIO OPTIMIZE OPTSIZE rastaparrot.c
- slink from lib:c.o rastaparrot.o to //Clients/RastaParrot lib lib:sc.lib lib:amiga.lib /lib/client.lib SC SD NOICONS
- delete rastaparrot.o
- quit
-
- RastaParrot 1.2 (Client for BServer)
-
- Copyright © 1994-1995 Stefano Reksten of 3AM - The Three Amigos!!!
- All rights reserved.
-
- The RastaParrot(TM) is Copyright © Massimo Capanni (JAMAICAN of 3AM)
- */
-
- #include <exec/memory.h>
- #include <intuition/intuition.h>
- #include <graphics/gfxbase.h>
-
- #include <proto/exec.h>
- #include <proto/intuition.h>
- #include <proto/graphics.h>
- #include <clib/alib_protos.h>
- #include <time.h>
-
- #include "/include/client.h"
- #include "/include/bitmap/bitmap.h"
- #include "/include/bitmap/bitmap_pragmas.h"
-
- char *ver = "$VER: RastaParrot 1.2 "__AMIGADATE__;
-
- extern ULONG RangeSeed;
-
- struct IntuitionBase *IntuitionBase;
- struct GfxBase *GfxBase;
- struct Library *BitMapBase;
-
- UBYTE rp_cmap[24] = { 0, 0, 0, 5, 2, 0, 0, 0, 0, 9, 4, 1, 11, 0, 0, 11, 15, 0, 15, 6, 0, 15, 15, 15 };
-
- UWORD chip rp1_imgdata[372] = {
- 0x0, 0x1, 0x8000, 0x0,
- 0x0, 0x3, 0x0, 0x0,
- 0x0, 0x187, 0x300, 0x0,
- 0x0, 0x1C7, 0x1E00, 0x0,
- 0x0, 0x78F7, 0xFC00, 0x0,
- 0x0, 0x7FFF, 0xF000, 0x0,
- 0x20, 0x3FFF, 0xF000, 0x0,
- 0x78, 0x3FFF, 0xE000, 0x0,
- 0x7C, 0xBFFF, 0xC000, 0x0,
- 0x7E, 0xFFF3, 0xC000, 0x0,
- 0x7F, 0xFFE7, 0xC000, 0x0,
- 0x7F, 0xFFCF, 0xC000, 0x0,
- 0x7F, 0xFFDB, 0xC000, 0x0,
- 0x3F, 0xFFC3, 0x8000, 0x0,
- 0x1C3F, 0xFFDF, 0x8000, 0x0,
- 0x7F3F, 0xFFFF, 0x8000, 0x0,
- 0x3FBF, 0xFFFF, 0x8000, 0x0,
- 0x1FFF, 0xFFFF, 0x9C00, 0x0,
- 0x3FFF, 0xFFFF, 0xCF00, 0x0,
- 0x7FFF, 0xFFFF, 0xC7E0, 0x0,
- 0x7FFF, 0xFFFF, 0xC3E0, 0x0,
- 0xFFFF, 0xFFFF, 0x80C0, 0x0,
- 0xCFFF, 0xFFFF, 0x8000, 0x0,
- 0xFFF, 0xFFFF, 0x0, 0x0,
- 0x1FFF, 0xFFFF, 0x0, 0x0,
- 0x1FFF, 0xFFFE, 0x0, 0x0,
- 0x1C0F, 0xFFFC, 0x0, 0x0,
- 0x807, 0xFFF0, 0x0, 0x0,
- 0x1, 0x9000, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x2, 0x0, 0x0,
- 0x0, 0x42, 0x1000, 0x0,
- 0x0, 0x63, 0x2000, 0x0,
- 0x0, 0x7F7, 0xC000, 0x0,
- 0x0, 0x7FF, 0xC000, 0x0,
- 0x30, 0xFFF, 0x8000, 0x0,
- 0x38, 0xFE3, 0x8000, 0x0,
- 0x3C, 0xFC3, 0x8000, 0x0,
- 0x3E, 0x4F83, 0x8000, 0x0,
- 0x1F, 0x3F83, 0xFFE0, 0x0,
- 0xF, 0x9F83, 0xFFFF, 0x0,
- 0x7, 0xCFC3, 0xFFFF, 0x8000,
- 0x1B, 0xEFC3, 0xBFFF, 0xC000,
- 0x919, 0xE7F3, 0xC007, 0xC000,
- 0xF8F, 0xF3CF, 0xFFC0, 0xE000,
- 0xFC7, 0xF9FF, 0xBF00, 0x2000,
- 0x1F89, 0xFFFF, 0x87E0, 0x0,
- 0x3FF7, 0xFFFF, 0x3E0, 0x0,
- 0x47F8, 0x7FFF, 0xC0, 0x0,
- 0x7FF, 0x3FFE, 0x0, 0x0,
- 0x7FF, 0xFFFE, 0x0, 0x0,
- 0xDCF, 0xFFFC, 0x0, 0x0,
- 0xC07, 0xFFF8, 0x0, 0x0,
- 0x3, 0xFFF0, 0x0, 0x0,
- 0x0, 0xFF00, 0x0, 0x0,
- 0x0, 0x6F80, 0x0, 0x0,
- 0x1, 0x9BC0, 0x0, 0x0,
- 0x1, 0x140, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0xC, 0x0, 0x0,
- 0x0, 0x18, 0x0, 0x0,
- 0x0, 0x30, 0x0, 0x0,
- 0x0, 0x24, 0x3FE0, 0x0,
- 0x0, 0x3C, 0x7FFF, 0x0,
- 0x0, 0x20, 0x7FFF, 0x8000,
- 0x0, 0x0, 0x7FFF, 0xC000,
- 0x0, 0x0, 0x7FC7, 0xC000,
- 0x0, 0x0, 0x7FC0, 0xE000,
- 0x0, 0x0, 0x3F00, 0x2000,
- 0x0, 0x0, 0x7E0, 0x0,
- 0x0, 0x0, 0x3F0, 0x0,
- 0x0, 0x0, 0xF0, 0x0,
- 0x0, 0x0, 0x60, 0x0,
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x6F80, 0x0, 0x0,
- 0x1, 0x9BC0, 0x0, 0x0,
- 0x1, 0x140, 0x0, 0x0
- };
-
- UWORD chip rp2_imgdata[372] = {
- 0x0, 0x1, 0x8000, 0x0,
- 0x0, 0x3, 0x0, 0x0,
- 0x0, 0x187, 0x300, 0x0,
- 0x0, 0x1C7, 0x1E00, 0x0,
- 0x0, 0x78F7, 0xFC00, 0x0,
- 0x0, 0x7FFF, 0xF000, 0x0,
- 0x0, 0x3FFF, 0xF000, 0x0,
- 0x0, 0x3FFF, 0xE000, 0x0,
- 0x0, 0xBFFF, 0xC000, 0x0,
- 0x0, 0xFFF3, 0xC000, 0x0,
- 0x1, 0xFFE7, 0xC000, 0x0,
- 0x1, 0xFFCF, 0xC000, 0x0,
- 0x1, 0xFFDB, 0xC000, 0x0,
- 0x3, 0xFFC3, 0x8000, 0x0,
- 0x1C03, 0xFFDF, 0x8000, 0x0,
- 0x7F07, 0xFFFF, 0x8000, 0x0,
- 0x3F87, 0xFFFF, 0x8000, 0x0,
- 0x1FEF, 0xFFFF, 0x9C00, 0x0,
- 0x3FFF, 0xFFFF, 0xCF00, 0x0,
- 0x7FFF, 0xFFFF, 0xC7E0, 0x0,
- 0x7FFF, 0xFFFF, 0xC3E0, 0x0,
- 0xFFFF, 0xFFFF, 0x80C0, 0x0,
- 0xCFFF, 0xFFFF, 0x8000, 0x0,
- 0xFFF, 0xFFFF, 0x0, 0x0,
- 0x1FFF, 0xFFFF, 0x0, 0x0,
- 0x1FFF, 0xFFFE, 0x0, 0x0,
- 0x1C7F, 0xFFFC, 0x0, 0x0,
- 0x87F, 0xFFF0, 0x0, 0x0,
- 0x79, 0x9000, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x2, 0x0, 0x0,
- 0x0, 0x42, 0x1000, 0x0,
- 0x0, 0x63, 0x2000, 0x0,
- 0x0, 0x7F7, 0xC000, 0x0,
- 0x0, 0x7FF, 0xC000, 0x0,
- 0x0, 0xFFF, 0x8000, 0x0,
- 0x0, 0xFE3, 0x8000, 0x0,
- 0x0, 0xFC3, 0x8000, 0x0,
- 0x0, 0xCF83, 0x8000, 0x0,
- 0x0, 0xFF83, 0xFFE0, 0x0,
- 0x1, 0xFF83, 0xFFFF, 0x0,
- 0x1, 0xFFC3, 0xFFFF, 0x8000,
- 0x1, 0xFFC3, 0xBFFF, 0xC000,
- 0x903, 0xFFF3, 0xC007, 0xC000,
- 0xF87, 0xFFCF, 0xFFC0, 0xE000,
- 0xFC4, 0xFEFF, 0xBF00, 0x2000,
- 0x1F81, 0xFCFF, 0x87E0, 0x0,
- 0x3FE7, 0x79FF, 0x3E0, 0x0,
- 0x47CC, 0x67FF, 0xC0, 0x0,
- 0x7D9, 0xEFFE, 0x0, 0x0,
- 0x7D7, 0xDFFE, 0x0, 0x0,
- 0xDCF, 0xBFFC, 0x0, 0x0,
- 0xC1E, 0x7FF8, 0x0, 0x0,
- 0x3C, 0xFFF0, 0x0, 0x0,
- 0x38, 0xFF00, 0x0, 0x0,
- 0x0, 0x6F80, 0x0, 0x0,
- 0x1, 0x9BC0, 0x0, 0x0,
- 0x1, 0x140, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0xC, 0x0, 0x0,
- 0x0, 0x18, 0x0, 0x0,
- 0x0, 0x30, 0x0, 0x0,
- 0x0, 0x24, 0x3FE0, 0x0,
- 0x0, 0x3C, 0x7FFF, 0x0,
- 0x0, 0x20, 0x7FFF, 0x8000,
- 0x0, 0x0, 0x7FFF, 0xC000,
- 0x0, 0x0, 0x7FC7, 0xC000,
- 0x0, 0x0, 0x7FC0, 0xE000,
- 0x0, 0x0, 0x3F00, 0x2000,
- 0x0, 0x0, 0x7E0, 0x0,
- 0x0, 0x0, 0x3F0, 0x0,
- 0x0, 0x0, 0xF0, 0x0,
- 0x0, 0x0, 0x60, 0x0,
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x6F80, 0x0, 0x0,
- 0x1, 0x9BC0, 0x0, 0x0,
- 0x1, 0x140, 0x0, 0x0
- };
-
- UWORD chip rp3_imgdata[372] = {
- 0x0, 0x3000, 0x0, 0x0,
- 0x0, 0x1800, 0x0, 0x0,
- 0x18, 0x1C30, 0x0, 0x0,
- 0xF, 0x1C70, 0x0, 0x0,
- 0x7, 0xFDE3, 0xC000, 0x0,
- 0x1, 0xFFFF, 0xC000, 0x0,
- 0x1, 0xFFFF, 0x8080, 0x0,
- 0x0, 0xFFFF, 0x83C0, 0x0,
- 0x0, 0x7FFF, 0xA7C0, 0x0,
- 0x0, 0x79FF, 0xEFC0, 0x0,
- 0x0, 0x7CFF, 0xFFC0, 0x0,
- 0x0, 0x7E7F, 0xFFC0, 0x0,
- 0x0, 0x7B7F, 0xFFC0, 0x0,
- 0x0, 0x387F, 0xFF80, 0x0,
- 0x0, 0x3F7F, 0xFF87, 0x0,
- 0x0, 0x3FFF, 0xFF9F, 0xC000,
- 0x0, 0x3FFF, 0xFFBF, 0x8000,
- 0x7, 0x3FFF, 0xFFFF, 0x0,
- 0x1E, 0x7FFF, 0xFFFF, 0x8000,
- 0xFC, 0x7FFF, 0xFFFF, 0xC000,
- 0xF8, 0x7FFF, 0xFFFF, 0xC000,
- 0x60, 0x3FFF, 0xFFFF, 0xE000,
- 0x0, 0x3FFF, 0xFFFE, 0x6000,
- 0x0, 0x1FFF, 0xFFFE, 0x0,
- 0x0, 0x1FFF, 0xFFFF, 0x0,
- 0x0, 0xFFF, 0xFFFF, 0x0,
- 0x0, 0x7FF, 0xFE07, 0x0,
- 0x0, 0x1FF, 0xFC02, 0x0,
- 0x0, 0x1, 0x3000, 0x0,
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x800, 0x0, 0x0,
- 0x1, 0x840, 0x0, 0x0,
- 0x0, 0x98C0, 0x0, 0x0,
- 0x0, 0x7DFC, 0x0, 0x0,
- 0x0, 0x7FFC, 0x0, 0x0,
- 0x0, 0x3FFE, 0x180, 0x0,
- 0x0, 0x38FE, 0x380, 0x0,
- 0x0, 0x387E, 0x780, 0x0,
- 0x0, 0x383E, 0x4F80, 0x0,
- 0xFF, 0xF83F, 0x9F00, 0x0,
- 0x1FFF, 0xF83F, 0x3E00, 0x0,
- 0x3FFF, 0xF87E, 0x7C00, 0x0,
- 0x7FFF, 0xB87E, 0xFB00, 0x0,
- 0x7C00, 0x79FC, 0xF312, 0x0,
- 0xE07F, 0xFE79, 0xFE3E, 0x0,
- 0x801F, 0xBFF3, 0xFC7E, 0x0,
- 0xFC, 0x3FFF, 0xF23F, 0x0,
- 0xF8, 0x1FFF, 0xFDFF, 0x8000,
- 0x60, 0x1FFF, 0xC3FC, 0x4000,
- 0x0, 0xFFF, 0x9FFC, 0x0,
- 0x0, 0xFFF, 0xFFFC, 0x0,
- 0x0, 0x7FF, 0xFE76, 0x0,
- 0x0, 0x3FF, 0xFC06, 0x0,
- 0x0, 0x1FF, 0xF800, 0x0,
- 0x0, 0x1F, 0xE000, 0x0,
- 0x0, 0x3E, 0xC000, 0x0,
- 0x0, 0x7B, 0x3000, 0x0,
- 0x0, 0x50, 0x1000, 0x0,
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x600, 0x0, 0x0,
- 0x0, 0x300, 0x0, 0x0,
- 0x0, 0x180, 0x0, 0x0,
- 0xFF, 0x8480, 0x0, 0x0,
- 0x1FFF, 0xC780, 0x0, 0x0,
- 0x3FFF, 0xC080, 0x0, 0x0,
- 0x7FFF, 0xC000, 0x0, 0x0,
- 0x7C7F, 0xC000, 0x0, 0x0,
- 0xE07F, 0xC000, 0x0, 0x0,
- 0x801F, 0x8000, 0x0, 0x0,
- 0xFC, 0x0, 0x0, 0x0,
- 0x1F8, 0x0, 0x0, 0x0,
- 0x1E0, 0x0, 0x0, 0x0,
- 0xC0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x3E, 0xC000, 0x0,
- 0x0, 0x7B, 0x3000, 0x0,
- 0x0, 0x50, 0x1000, 0x0
- };
-
- UWORD chip rp4_imgdata[372] = {
- 0x0, 0x3000, 0x0, 0x0,
- 0x0, 0x1800, 0x0, 0x0,
- 0x18, 0x1C30, 0x0, 0x0,
- 0xF, 0x1C70, 0x0, 0x0,
- 0x7, 0xFDE3, 0xC000, 0x0,
- 0x1, 0xFFFF, 0xC000, 0x0,
- 0x1, 0xFFFF, 0x8000, 0x0,
- 0x0, 0xFFFF, 0x8000, 0x0,
- 0x0, 0x7FFF, 0xA000, 0x0,
- 0x0, 0x79FF, 0xE000, 0x0,
- 0x0, 0x7CFF, 0xF000, 0x0,
- 0x0, 0x7E7F, 0xF000, 0x0,
- 0x0, 0x7B7F, 0xF000, 0x0,
- 0x0, 0x387F, 0xF800, 0x0,
- 0x0, 0x3F7F, 0xF807, 0x0,
- 0x0, 0x3FFF, 0xFC1F, 0xC000,
- 0x0, 0x3FFF, 0xFC3F, 0x8000,
- 0x7, 0x3FFF, 0xFEFF, 0x0,
- 0x1E, 0x7FFF, 0xFFFF, 0x8000,
- 0xFC, 0x7FFF, 0xFFFF, 0xC000,
- 0xF8, 0x7FFF, 0xFFFF, 0xC000,
- 0x60, 0x3FFF, 0xFFFF, 0xE000,
- 0x0, 0x3FFF, 0xFFFE, 0x6000,
- 0x0, 0x1FFF, 0xFFFE, 0x0,
- 0x0, 0x1FFF, 0xFFFF, 0x0,
- 0x0, 0xFFF, 0xFFFF, 0x0,
- 0x0, 0x7FF, 0xFFC7, 0x0,
- 0x0, 0x1FF, 0xFFC2, 0x0,
- 0x0, 0x1, 0x33C0, 0x0,
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x800, 0x0, 0x0,
- 0x1, 0x840, 0x0, 0x0,
- 0x0, 0x98C0, 0x0, 0x0,
- 0x0, 0x7DFC, 0x0, 0x0,
- 0x0, 0x7FFC, 0x0, 0x0,
- 0x0, 0x3FFE, 0x0, 0x0,
- 0x0, 0x38FE, 0x0, 0x0,
- 0x0, 0x387E, 0x0, 0x0,
- 0x0, 0x383E, 0x6000, 0x0,
- 0xFF, 0xF83F, 0xE000, 0x0,
- 0x1FFF, 0xF83F, 0xF000, 0x0,
- 0x3FFF, 0xF87F, 0xF000, 0x0,
- 0x7FFF, 0xB87F, 0xF000, 0x0,
- 0x7C00, 0x79FF, 0xF812, 0x0,
- 0xE07F, 0xFE7F, 0xFC3E, 0x0,
- 0x801F, 0xBFEF, 0xE47E, 0x0,
- 0xFC, 0x3FE7, 0xF03F, 0x0,
- 0xF8, 0x1FF3, 0xDCFF, 0x8000,
- 0x60, 0x1FFC, 0xC67C, 0x4000,
- 0x0, 0xFFE, 0xF37C, 0x0,
- 0x0, 0xFFF, 0x7D7C, 0x0,
- 0x0, 0x7FF, 0xBE76, 0x0,
- 0x0, 0x3FF, 0xCF06, 0x0,
- 0x0, 0x1FF, 0xE780, 0x0,
- 0x0, 0x1F, 0xE380, 0x0,
- 0x0, 0x3E, 0xC000, 0x0,
- 0x0, 0x7B, 0x3000, 0x0,
- 0x0, 0x50, 0x1000, 0x0,
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x600, 0x0, 0x0,
- 0x0, 0x300, 0x0, 0x0,
- 0x0, 0x180, 0x0, 0x0,
- 0xFF, 0x8480, 0x0, 0x0,
- 0x1FFF, 0xC780, 0x0, 0x0,
- 0x3FFF, 0xC080, 0x0, 0x0,
- 0x7FFF, 0xC000, 0x0, 0x0,
- 0x7C7F, 0xC000, 0x0, 0x0,
- 0xE07F, 0xC000, 0x0, 0x0,
- 0x801F, 0x8000, 0x0, 0x0,
- 0xFC, 0x0, 0x0, 0x0,
- 0x1F8, 0x0, 0x0, 0x0,
- 0x1E0, 0x0, 0x0, 0x0,
- 0xC0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x0, 0x0, 0x0,
- 0x0, 0x3E, 0xC000, 0x0,
- 0x0, 0x7B, 0x3000, 0x0,
- 0x0, 0x50, 0x1000, 0x0
- };
-
-
- struct Image rp_image = { 0, 0, 0x33, 0x1F, 0x3, rp1_imgdata, 0x7, 0, NULL };
-
- struct Screen *scr;
-
-
- UWORD top;
- WORD left, oldleft;
- UBYTE delay = 1, dx;
- struct BitMap *bmap, *rasta_bitmap;
- struct RastPort *rport;
-
- struct DisplayIDInformation *dinfo;
- ULONG command;
-
-
- void RastaParrot( void )
- {
- UBYTE direction, brightness, n;
- UWORD swidth, sheight;
- ULONG displayID;
- struct Rectangle *rect;
-
- rect = GETTXTOSCANRECT(dinfo);
-
- swidth = RECTANGLEWIDTH(rect);
- sheight = RECTANGLEHEIGHT(rect);
- displayID = DISPLAYID(dinfo);
- brightness = GETBRIGHTNESS(dinfo);
-
- if ( !CheckAA() )
- {
- if ( displayID & SUPERHIRES )
- {
- displayID &= ~SUPERHIRES;
- displayID |= HIRES;
- swidth >>= 1;
- }
- }
-
- if ( scr = OpenScreenTags( NULL,
- SA_Width, swidth,
- SA_Height, sheight,
- SA_Depth, 3,
- SA_Quiet, TRUE,
- SA_DisplayID, displayID,
- SA_Overscan, OSCAN_TEXT,
- TAG_END ) )
- {
- register struct ViewPort *vp = &(scr->ViewPort);
- register struct RastPort *rp = &(scr->RastPort);
-
- SpritesOff();
-
- for( n = 0; n < 24; n++ )
- rp_cmap[n] = rp_cmap[n] * brightness/100;
-
- for ( n = 0; n < 24; n+=3 )
- SetRGB4( vp, n/3, rp_cmap[n], rp_cmap[n+1], rp_cmap[n+2] );
- SetAPen( rp, 0 );
-
- delay = 1;
- direction = RangeRand( 2 );
- dx = RangeRand( 3 ) + 1;
- left = RangeRand( swidth );
- oldleft = left;
- top = RangeRand(sheight - 0x5F) + 0x40;
-
- while( STILL_BLANKING )
- {
- if ( !(--delay) )
- {
- if ( left >= swidth - 82 )
- {
- direction = 1;
- dx = RangeRand( 3 ) + 1;
- left = swidth - 82;
- }
- if ( left <= 12 )
- {
- direction = 0;
- dx = RangeRand( 3 ) + 1;
- left = 12;
- }
-
- if ( direction == 0 )
- {
- rp_image.ImageData = ( rp_image.ImageData == rp1_imgdata ? rp2_imgdata : rp1_imgdata );
- left += dx;
- }
- else
- {
- rp_image.ImageData = ( rp_image.ImageData == rp3_imgdata ? rp4_imgdata : rp3_imgdata );
- left -= dx;
- }
-
- WaitTOF();
- RectFill( rp, oldleft, top, oldleft + 0x33, top + 0x1F );
- DrawImage( rp, &rp_image, left, top );
- oldleft = left;
-
- delay = 10;
- }
- else WaitTOF();
- }
- SpritesOn();
- CloseScreen( scr );
- }
- else
- SendClientMsg( ACTION_FAILED );
- }
-
-
- void __main( char *line )
- {
- if ( IntuitionBase = (struct IntuitionBase *)OpenLibrary( "intuition.library", 36L ) )
- {
- if ( GfxBase = (struct GfxBase *)OpenLibrary( "graphics.library",0L ) )
- {
- if ( BitMapBase = OpenLibrary( "bitmap.library", 0L ) )
- {
- if ( rasta_bitmap = CreateBitMap( 0x33, 0x1F, 3 ) )
- {
- if ( rport = AllocMem( sizeof(struct RastPort), MEMF_CLEAR ) )
- {
- InitRastPort( rport );
- rport->BitMap = rasta_bitmap;
-
- RangeSeed = time( NULL );
-
- if ( dinfo = OpenCommunication() )
- {
- RastaParrot();
- CloseCommunication( dinfo );
- }
- FreeMem( rport, sizeof(struct RastPort) );
- }
- DisposeBitMap( rasta_bitmap );
- }
- CloseLibrary( BitMapBase );
- }
- CloseLibrary( (struct Library *)GfxBase );
- }
- CloseLibrary( (struct Library *)IntuitionBase );
- }
- }
-